﻿using MathNet.Numerics.LinearAlgebra.Generic;

namespace Marvin.Optimization
{
    /// <summary>
    /// Calculates the gradient for a given position. 
    /// </summary>
    public interface IGradientFunction
    {
        /// <summary>
        /// Calculates the specified x position. 
        /// </summary>
        /// <param name="theta">The input position.</param>
        /// <returns></returns>
        Vector<double> Calculate(Vector<double> theta);

        int GetDimension(); 
    }
}
